2
La realidad lineal de los tensores multi-dimensionales
AI023Lesson 7
00:00

Aunque visualizamos los datos como cuadrículas 2D por conveniencia matemática, el hardware solo ve una secuencia continua de bytes en 1D. Comprender esta "realidad lineal" es un requisito previo para implementar patrones de reducción por fila patrones de reducción—por ejemplo, encontrar el valor máximo o la suma de exponentes.

1. El principio de "planificación lineal"

Cada tensor multi-dimensional se almacena físicamente de forma secuencial. Para implementar $\text{softmax}(x_i) = \frac{e^{x_i}}{\sum_j e^{x_j}}$, debemos identificar el segmento lineal que representa una fila y realizar recorridos para calcular el máximo y la suma.

2D LógicoMemoria Física 1D

2. Estabilidad numérica

¿Por qué necesita estabilización el softmax? Los valores de entrada altos hacen que $e^{x}$ explote. Nosotros lo estabilizamos mediante: $$\text{exp}(x_i - \text{max}(x))$$ Esto obliga al diseñador del kernel a realizar una reducción lineal de dos pasadas (máximo luego suma) antes de la normalización final.

3. Verificación mediante filas cortas

Al desarrollar kernels de Triton, usamos pruebas solo con filas cortas (por ejemplo, ancho 16) para asegurarnos de que nuestra aritmética de punteros lineales capture correctamente cada elemento antes de escalar a cargas de producción.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>